home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / EGAVGA.SWG / 0120_VGA Palette Code.pas < prev    next >
Pascal/Delphi Source File  |  1994-08-24  |  1KB  |  36 lines

  1.  
  2. { Here is the VGA palette changing code. }
  3.  
  4. Unit PalChg;
  5. Interface
  6. USES DOS;
  7. Type
  8.   TPalette16 = array[0..15] of array[0..2] of Byte;
  9.   TPalette256 = array[0..255] of array[0..2] of Byte;
  10. procedure SetVGAPalette16(PalBuf : TPalette16);
  11. procedure SetVGAPalette256(PalBuf : TPalette256);
  12. Implementation
  13. procedure SetVGAPalette16(PalBuf : TPalette16);
  14. var
  15.   Reg:Registers;
  16. begin
  17.   reg.ax:=$1012;       {Code for chg. palette}
  18.   reg.bx:=0;           {start with color 0}
  19.   reg.cx:=16;          {change 16 colors}
  20.   reg.es:=Seg(PalBuf); {address: segment}
  21.   reg.dx:=Ofs(PalBuf); {address: offset}
  22.   intr($10, reg);      {interrupt call}
  23. end;
  24. procedure SetVGAPalette256(PalBuf : TPalette256);
  25. var
  26.   Reg:                                  Registers;
  27. begin
  28.   reg.ax:=$1012;       {code for chg. palette}
  29.   reg.bx:=0;           {start with color 0}
  30.   reg.cx:=256;         {change 256 colors}
  31.   reg.es:=Seg(PalBuf); {address: segment}
  32.   reg.dx:=Ofs(PalBuf); {address: offset}
  33.   intr($10, reg);      {interrupt call}
  34. end;
  35. End.
  36.